/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Manejadores;

/**
 *
 * @author Facundo
 */
import Logica.Usuario;
import Persistencia.ADOUsuario;
import java.util.Iterator;
import java.util.LinkedList;

public class ManejadorAgregarUsuarios {

    ADOUsuario persistenciaUsuario;

    public ManejadorAgregarUsuarios() {
        persistenciaUsuario = new ADOUsuario();
    }

    public boolean grabarUsuario(String nombreUsuario, String password, String nombre, String apellido, String telefono, String direccion, String rol) {
        //Checkeo si el nombre de usuario ya existe en la base de datos
        if (this.checkearDisponibilidadNombreUsuario(nombreUsuario)) {
            //Creo el objeto Usuario
            Usuario usr = new Usuario(nombreUsuario, password, nombre, apellido, telefono, direccion, rol);
            //Se lo paso al objeto de persistencia para que lo grabe en la BD.
            persistenciaUsuario.insertarUsuario(usr);
            return true;
        } else {
            return false;
        }
    }

    public boolean checkearDisponibilidadNombreUsuario(String nombreUsuario) {
        Usuario usr;
        //Traigo todos los usuarios de la BD
        LinkedList lista = persistenciaUsuario.traerSoloUsuarios();
        //Recorro la lista para ver si existe un usuario con el mismo nombreUsuario
        if (!lista.isEmpty()) {
            Iterator it = lista.iterator();
            while (it.hasNext()) {
                usr = (Usuario) it.next();
                if (usr.getNombreUsuario().equals(nombreUsuario)) {
                    //Si existe devuelvo false
                    return false;
                }
            }
        }
        //Si no existe devuelvo true
        return true;
    }
}
